The advent of virtualization technologies for computing resources has provided benefits with respect to managing large-scale computing resources for many customers with diverse needs and has allowed various computing resources or computing services to be efficiently and securely shared by multiple customers. For example, virtualization technologies may allow a single physical computing machine to be shared among multiple customers by providing each customer with one or more computing service resources hosted by the single physical computing machine. For example, one type of computing service resource may be a computing instance. Each computing instance hosted by a single physical computing machine using a hypervisor may be a guest machine acting as a distinct logical computing system that provides a customer with the perception that the customer is the sole operator and administrator of a given virtualized hardware computing resource.
Auto scaling within a computing service environment may programmatically instantiate or terminate computing service resources that are respectively added or removed from a computing service resource group. Auto scaling may be used to maintain the availability of computing service resources included in a computing service resource group, allowing a customer of a computing service provider to scale computing capacity up or down automatically in response to demand and according to conditions that the customer may define. When a condition defined by a customer is met (e.g., computing instances in a computing cluster have exceed 90% capacity), an auto scaling event may occur that programmatically increases a number of computing service resources during demand spikes to maintain performance, and programmatically decreases the number of computing service resources during computing capacity reductions to reduce costs.